package com.eps.entity;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.Table;

/**
 *
 * @author Luis_Angel
 */
@Entity
@Table(name = "Tipo")
@org.hibernate.annotations.Proxy(lazy=false)
@NamedQueries({
    @NamedQuery(name = "Tipo.findAll", query = "SELECT t FROM Tipo t"),
    @NamedQuery(name = "Tipo.findByIdTablaTipo", query = "SELECT t FROM Tipo t WHERE t.idTablaTipo = :idTablaTipo"),
    @NamedQuery(name = "Tipo.findByTabla", query = "SELECT t FROM Tipo t WHERE t.tabla = :tabla"),
    @NamedQuery(name = "Tipo.findByDescripcionCampo", query = "SELECT t FROM Tipo t WHERE t.descripcionCampo = :descripcionCampo"),
    @NamedQuery(name = "Tipo.findByCodigo", query = "SELECT t FROM Tipo t WHERE t.codigo = :codigo"),
    @NamedQuery(name = "Tipo.findByDescripcionValor", query = "SELECT t FROM Tipo t WHERE t.descripcionValor = :descripcionValor"),
    @NamedQuery(name = "Tipo.findByCantidad", query = "SELECT t FROM Tipo t WHERE t.cantidad = :cantidad")})
public class Tipo implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @Basic(optional = false)
    @Column(name = "id_tabla_tipo")
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    private Integer idTablaTipo;
    @Column(name = "tabla")
    private String tabla;
    @Column(name = "descripcion_campo")
    private String descripcionCampo;
    @Column(name = "codigo")
    private String codigo;
    @Column(name = "descripcion_valor")
    private String descripcionValor;
    @Column(name = "cantidad")
    private BigDecimal cantidad;
    @OneToMany(mappedBy = "idTipoOrden")
    private List<Pedido> pedidoList;
    @OneToMany( mappedBy = "tipoEstadoPedido")
    private List<Pedido> pedidoList1;
    @OneToMany( mappedBy = "tipoPrioridad")
    private List<Pedido> pedidoList2;
    @OneToMany(mappedBy = "tipoMovimiento")
    private List<DetalleMovimiento> detalleMovimientoList;
    @OneToMany(mappedBy = "comprobantePago")
    private List<Orden> ordenList;
    @OneToMany(mappedBy = "estadoAtencion")
    private List<Orden> ordenList1;
    @OneToMany(mappedBy = "formaPago")
    private List<Orden> ordenList2;
    @OneToMany(mappedBy = "plantillaImpuesto")
    private List<Orden> ordenList3;
    @OneToMany(mappedBy = "tipoMoneda")
    private List<Orden> ordenList4;
    @OneToMany(mappedBy = "tipoorden")
    private List<Orden> ordenList5;
    @OneToMany(mappedBy = "tipoDocumento")
    private List<Movimiento> movimientoList;
    @OneToMany(mappedBy = "tipoIngreso")
    private List<Movimiento> movimientoList1;
    @OneToMany(mappedBy = "tipoMovimiento")
    private List<Movimiento> movimientoList2;
    @OneToMany(mappedBy = "tipoSuministros")
    private List<GrupoSuministros> grupoSuministrosList;
    @OneToMany( mappedBy = "idTipoAdministradorTarea")
    private List<DetallePedidoSuministro> detallePedidoSuministroList;
    @OneToMany( mappedBy = "tipoEstadoPedido")
    private List<DetallePedidoSuministro> detallePedidoSuministroList1;
    @OneToMany( mappedBy = "codTipoComprobante")
    private List<ComprobantePago> comprobantePagoList;
    @OneToMany( mappedBy = "tipoABC")
    private List<Suministros> suministrosList;
    @OneToMany(mappedBy = "tipoStock")
    private List<Suministros> suministrosList1;
    @OneToMany(mappedBy = "tipoUnidadMedida")
    private List<Suministros> suministrosList2;

    public Tipo() {
    }

    public Tipo(Integer idTablaTipo) {
        this.idTablaTipo = idTablaTipo;
    }

    public Integer getIdTablaTipo() {
        return idTablaTipo;
    }

    public void setIdTablaTipo(Integer idTablaTipo) {
        this.idTablaTipo = idTablaTipo;
    }

    public String getTabla() {
        return tabla;
    }

    public void setTabla(String tabla) {
        this.tabla = tabla;
    }

    public String getDescripcionCampo() {
        return descripcionCampo;
    }

    public void setDescripcionCampo(String descripcionCampo) {
        this.descripcionCampo = descripcionCampo;
    }

    public String getCodigo() {
        return codigo;
    }

    public void setCodigo(String codigo) {
        this.codigo = codigo;
    }

    public String getDescripcionValor() {
        return descripcionValor;
    }

    public void setDescripcionValor(String descripcionValor) {
        this.descripcionValor = descripcionValor;
    }

    public BigDecimal getCantidad() {
        return cantidad;
    }

    public void setCantidad(BigDecimal cantidad) {
        this.cantidad = cantidad;
    }

    public List<Pedido> getPedidoList() {
        return pedidoList;
    }

    public void setPedidoList(List<Pedido> pedidoList) {
        this.pedidoList = pedidoList;
    }

    public List<Pedido> getPedidoList1() {
        return pedidoList1;
    }

    public void setPedidoList1(List<Pedido> pedidoList1) {
        this.pedidoList1 = pedidoList1;
    }

    public List<Pedido> getPedidoList2() {
        return pedidoList2;
    }

    public void setPedidoList2(List<Pedido> pedidoList2) {
        this.pedidoList2 = pedidoList2;
    }

    public List<DetalleMovimiento> getDetalleMovimientoList() {
        return detalleMovimientoList;
    }

    public void setDetalleMovimientoList(List<DetalleMovimiento> detalleMovimientoList) {
        this.detalleMovimientoList = detalleMovimientoList;
    }

    public List<Orden> getOrdenList() {
        return ordenList;
    }

    public void setOrdenList(List<Orden> ordenList) {
        this.ordenList = ordenList;
    }

    public List<Orden> getOrdenList1() {
        return ordenList1;
    }

    public void setOrdenList1(List<Orden> ordenList1) {
        this.ordenList1 = ordenList1;
    }

    public List<Orden> getOrdenList2() {
        return ordenList2;
    }

    public void setOrdenList2(List<Orden> ordenList2) {
        this.ordenList2 = ordenList2;
    }

    public List<Orden> getOrdenList3() {
        return ordenList3;
    }

    public void setOrdenList3(List<Orden> ordenList3) {
        this.ordenList3 = ordenList3;
    }

    public List<Orden> getOrdenList4() {
        return ordenList4;
    }

    public void setOrdenList4(List<Orden> ordenList4) {
        this.ordenList4 = ordenList4;
    }

    public List<Orden> getOrdenList5() {
        return ordenList5;
    }

    public void setOrdenList5(List<Orden> ordenList5) {
        this.ordenList5 = ordenList5;
    }

    public List<Movimiento> getMovimientoList() {
        return movimientoList;
    }

    public void setMovimientoList(List<Movimiento> movimientoList) {
        this.movimientoList = movimientoList;
    }

    public List<Movimiento> getMovimientoList1() {
        return movimientoList1;
    }

    public void setMovimientoList1(List<Movimiento> movimientoList1) {
        this.movimientoList1 = movimientoList1;
    }

    public List<Movimiento> getMovimientoList2() {
        return movimientoList2;
    }

    public void setMovimientoList2(List<Movimiento> movimientoList2) {
        this.movimientoList2 = movimientoList2;
    }

    public List<GrupoSuministros> getGrupoSuministrosList() {
        return grupoSuministrosList;
    }

    public void setGrupoSuministrosList(List<GrupoSuministros> grupoSuministrosList) {
        this.grupoSuministrosList = grupoSuministrosList;
    }

    

    public List<DetallePedidoSuministro> getDetallePedidoSuministroList() {
        return detallePedidoSuministroList;
    }

    public void setDetallePedidoSuministroList(List<DetallePedidoSuministro> detallePedidoSuministroList) {
        this.detallePedidoSuministroList = detallePedidoSuministroList;
    }

    public List<DetallePedidoSuministro> getDetallePedidoSuministroList1() {
        return detallePedidoSuministroList1;
    }

    public void setDetallePedidoSuministroList1(List<DetallePedidoSuministro> detallePedidoSuministroList1) {
        this.detallePedidoSuministroList1 = detallePedidoSuministroList1;
    }

    public List<ComprobantePago> getComprobantePagoList() {
        return comprobantePagoList;
    }

    public void setComprobantePagoList(List<ComprobantePago> comprobantePagoList) {
        this.comprobantePagoList = comprobantePagoList;
    }

    public List<Suministros> getSuministrosList() {
        return suministrosList;
    }

    public void setSuministrosList(List<Suministros> suministrosList) {
        this.suministrosList = suministrosList;
    }

    public List<Suministros> getSuministrosList1() {
        return suministrosList1;
    }

    public void setSuministrosList1(List<Suministros> suministrosList1) {
        this.suministrosList1 = suministrosList1;
    }

    public List<Suministros> getSuministrosList2() {
        return suministrosList2;
    }

    public void setSuministrosList2(List<Suministros> suministrosList2) {
        this.suministrosList2 = suministrosList2;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (idTablaTipo != null ? idTablaTipo.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {

        if (!(object instanceof Tipo)) {
            return false;
        }
        Tipo other = (Tipo) object;
        if ((this.idTablaTipo == null && other.idTablaTipo != null) || (this.idTablaTipo != null && !this.idTablaTipo.equals(other.idTablaTipo))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "suministros.ejb30.entity.Tipo[idTablaTipo=" + idTablaTipo + "]";
    }

}
